.dashboard {
  .user-info {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 0;

    .ant-avatar {
      background: linear-gradient(135deg, #1890ff 0%, #36cfc9 100%);
      box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
    }

    .user-details {
      h2 {
        margin: 0;
        font-size: 24px;
        background: linear-gradient(to right, #1890ff, #36cfc9);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-weight: 600;
      }

      p {
        margin: 4px 0 0;
        color: rgba(0, 0, 0, 0.45);
      }
    }
  }

  .ant-card {
    height: 100%;
    transition: all 0.3s ease;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    
    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.09);
    }

    &.stats-card {
      background: linear-gradient(135deg, #ffffff 0%, #f5f5f5 100%);
      
      .ant-statistic {
        .ant-statistic-title {
          color: rgba(0, 0, 0, 0.45);
          font-size: 14px;
          margin-bottom: 8px;
        }

        .ant-statistic-content {
          color: #1890ff;
          font-size: 28px;
          font-weight: 600;

          .ant-statistic-content-prefix {
            margin-right: 8px;
            color: #1890ff;
          }

          .ant-statistic-content-suffix {
            color: rgba(0, 0, 0, 0.45);
            font-size: 14px;
          }
        }
      }
    }
  }

  .course-cell {
    .classroom {
      font-size: 12px;
      color: rgba(0, 0, 0, 0.45);
      margin-top: 4px;
    }

    .contact-info {
      font-size: 12px;
      color: #666;
      margin-top: 4px;
      
      .phone {
        color: #999;
      }
    }
  }

  .ant-table {
    .ant-table-thead > tr > th {
      text-align: center;
      background: linear-gradient(135deg, #f0f5ff 0%, #e6f7ff 100%);
      color: #1890ff;
      font-weight: 600;
      border-bottom: 2px solid #e6f7ff;
    }

    .ant-table-tbody > tr > td {
      padding: 12px 8px;
      vertical-align: top;
      transition: background 0.3s;

      &:first-child {
        text-align: center;
        background: #f5f5f5;
        font-weight: 500;
        color: #1890ff;
      }

      &:hover {
        background: #f0f5ff;
      }
    }

    .ant-table-row:hover > td {
      background: #f0f5ff;
    }
  }

  // 状态标签样式
  .ant-badge {
    .ant-badge-status-dot {
      width: 8px;
      height: 8px;
      border-radius: 4px;
      box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
    }

    &.ant-badge-status-success .ant-badge-status-dot {
      background: #52c41a;
    }

    &.ant-badge-status-processing .ant-badge-status-dot {
      background: #1890ff;
    }

    &.ant-badge-status-warning .ant-badge-status-dot {
      background: #faad14;
    }

    &.ant-badge-status-error .ant-badge-status-dot {
      background: #ff4d4f;
    }
  }

  // 图例样式
  .legend-container {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;

    .legend-item {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 12px;
      color: rgba(0, 0, 0, 0.65);
    }
  }

  .course-list {
    margin: 0;
    padding: 0;
    list-style: none;

    li {
      margin-bottom: 4px;
      padding: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      
      &:last-child {
        margin-bottom: 0;
      }
    }
  }

  .ant-picker-calendar {
    .ant-picker-panel {
      border: none;
    }

    .ant-picker-calendar-date-content {
      height: 80px;
      overflow-y: auto;

      &::-webkit-scrollbar {
        width: 6px;
      }

      &::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.2);
        border-radius: 3px;
      }
    }
  }
}
